home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Libris Britannia 4
/
science library(b).zip
/
science library(b)
/
SCIENTIF
/
1225.ZIP
/
README
< prev
Wrap
Text File
|
1987-06-25
|
8KB
|
202 lines
LABCOAT - Version 2.0 - 6/87
( Laboratory Cost And Test Analysis )
LABCOAT.PAS , EVALUATE.PAS & LIPID.PAS, written
in "User Friendly Pascal" (Together, about 140 K),
were compiled to provide a CHEAP and FUN Clinical Lab
helper for those with enough funds to have a PC, but not
enough to have the Omnipotent MegaBlodgett Clinical
Laboratory Complete Management Information System.
Included programs are README, which you are apparently
reading; LABCOAT.COM , LIPID.COM & EVALUATE.COM, which
are the executable programs ( just boot DOS, insert this
disk, and enter LABCOAT); and LABCOAT.PAS, LIPID.PAS &
EVALUATE.PAS, the Turbo Pascal source code for each program.
All coding was done on an IBM PC, using DOS 2.1 with
print routines tested on an Epson FX-85 and Okidata 182 (IBM).
There is a lot of calling for Text and Background Colors in
these programs - if you don't have a color card and monitor,
you will not be able to say, "It's poorly written, but their
color's really nice". Format a disk with your system on it
("Format b:/s" sort of thing), then copy all the files on
this disk to it. The program can even be started simply by
inserting the disk in drive A, and turning the computer on -
I have already written the Autoexec.Bat to boot up this way.
There are some printer and keyboard controls inserted at
various spots. We toggle on the CAPS LOCK for example. The
print control calls are really for IBM or IBM character set
compatable printers. These calls are mainly for borders and
emphasized text and form feeds.
Fuzzy Logic is a close relative of the writers, and actually,
may have made some contributions to these programs. To help
you appreciate him, We provided the source code and suggest
you review it. Further tips on this will follow.
If you want to change something, just get out Turbo 3.0 and
change it. Good luck. We're done with it - you can have it.
DOUG STANDING / GEN. MAX von BIRDFACE (RET.)
943 ASTER CT
SUNNYVALE, CA
94086
PAGE 1 OF 3
To check on the assumptions in calculations for the output
on pages 1 - 4 of the testcost module, check the source code.
You can view and print the source in a number of ways:
1. Load the file LABCOAT.PAS into your wordprocessor and
either view it or print it out complete with page breaks,
which is what we usually do. Use condensed or "quality"
mode printer commands ( >= 12cpi ).
2. Go to DOS, load the disk, turn your printer on and type
copy a:LABCOAT.PAS LPT1, then hit return.
3. Load Turbo Pascal, if you have it ( and you Will need it
if you're going to alter this program ), then load the file
LABCOAT.PAS and use the editor to browse.
( The same steps work for LIPID.PAS & EVALUATE.PAS )
( Printing all the Pascal Source is going to use 65 - 70 Pages )
At page 2 of LABCOAT.PAS, we've listed all the variables
with {cryptic explanations as to use}. Check those in both
real and integer sections. Next, at about pg 7-8 of the source,
we've set out the major group of calculations using those
variables. If you go on to the code segment marked "Print
Routine for GETIT", you can see a few more calculations and
also follow the use of all the calculations as they're applied
to the 3 output pages that Procedure GETIT prints for you.
Really, all the accounting math in GETIT is very
simple stuff, as are the formulas in the procedure for the
Depreciation routine. The Moving Average calculations are a
little more "elegant", and the Quicksort in the Stats program
is probably the most difficult to follow. Basically, it only
exists to serve the Median Procedure. You can refer to
Herbert Schildt's Advanced Turbo Pascal, Osborne McGraw-Hill,
for the whole story on Quicksorts, etc. We just grabbed the
idea, dressed it up and plugged it in.
The assumptions for the Lipid Profile Program are outlined
in the source code. Basically, the program takes input of a
patient's demographics and Cholesterol, Trig, HDL values and
then calculates other values and flags them for age and sex
related normals. The beginning values ( breakpoints ) for
both Moderate and High Cardiovascular Disease ( CVD ) Risk
levels are printed out to the right of the patient results
and any abnormal flags ( asterisks ). The CVD risk break-
points are always calculated based on the age group and sex
of the patient.
PAGE 2 OF 3
Lipoprotein Phenotyping is also presented, in simple form,
when some breakpoint elevations are passed. I think that it was
after writing this program that I decided it would be really
dishonorable to not include the source files on the disk.
At this point (1987) the meaning of lipoprotein levels is still
a controversial subject. What's "normal" here may not be in
your setting. Furthermore, the Lipid Research Council's
Abel-Kendall reference method for Cholesterol measurement may
not be totally comparable to other standardization techniques.
Simply adopting the reference ranges without having the same
reference methodology and standarization may be misleading.
So what you get is the skeleton. I put in what looked like
the current LRC reference ranges - you do what you want.
FATAL RUNTIME ERRORS
You can enjoy "runtime" errors with program crashes if
you do some of the following:
1. Try to enter numbers larger than 32767 into the
Statistics routine. The procedures to get the minimum and
maximum values use the Pascal TRUNC and ROUND functions,
which won't allow for entries over MAXINT (32767).
2. Try using empty carriage returns to pass up
requests for numerical input. If division by zero occurs
anywhere in the calculations, you may crash. We attempted to
initialize all critical variables or to error trap those
entries, but some get missed. The other alternative is that
the system will insert whatever garbage is floating around the
memory when you use empty returns. Birdface's suggestion is:
Put A Number In.
3. You fail to turn on the printer when requested and
then also fail to respond to the "WRITE FAULT -" prompt by
switching the printer on and pressing the "R" key for RETRY.
4. Attempting to enter letters when numeric data is
asked for. For example, try answering the question, "Please
Enter Age: ", by typing and entering "Forty One". You crash.
Just try to remember, Birdface is only a poor little Parrot,
and he wrote all the error traps. He also invented the names for
most of the variables in the code - they are not my fault - I don't
know how he chose MAXHEADROOM or SICKO - I only followed orders.
PAGE 3 OF 3